package com.wjk.kylin.mall.product.service.impl;

import com.wjk.kylin.mall.common.core.dto.base.BaseOutDTO;
import com.wjk.kylin.mall.common.core.dto.base.DataOutDTO;
import lombok.extern.slf4j.Slf4j;

/**
 * Throwable(业务异常) 异常
 */
@Slf4j
public class TestServiceFallbackImpl {
    /**
     *
     * 1 当前方法的返回值和参数要跟原方法一致
     * 2 参数列表的最后，允许添加一个Throwable参数，用来接收原方法中发生的异常
     * 3 需要用static修饰
     * @return
     */
    public static BaseOutDTO fallback(Throwable e) {
        log.error("触发了Throwable异常，信息：{}", e.getMessage());
        DataOutDTO<String> dto = new DataOutDTO<>();
        dto.setData("TestService.demo。Throwable异常");
        return dto;
    }
}
